//
//  JSViewController56.swift
//  RXSwiftTest
//
//  Created by ZhangBo on 2019/4/15.
//  Copyright © 2019 ZhangBo. All rights reserved.
//

import UIKit
import RxSwift
import RxCocoa

class JSViewController56: UIViewController {
    //表格
    var tableView: UITableView!

    let disposeBag = DisposeBag()

    override func viewDidLoad() {
        super.viewDidLoad()

        //创建表格视图
        self.tableView = UITableView(frame: self.view.frame, style: .plain)
        //创建一个重用的单元格
        self.tableView!.register(UITableViewCell.self,
            forCellReuseIdentifier: "Cell")
        self.view.addSubview(self.tableView!)

        //设置头部刷新控件
        self.tableView.mj_header = MJRefreshNormalHeader()

        //初始化ViewModel
        let viewModel = JSViewModel56(headerRefresh:
        self.tableView.mj_header.rx.refreshing.asDriver())

        //单元格数据的绑定
        viewModel.tableData.asDriver().drive(tableView.rx.items) { (tableView, row, element) in
            let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")!
            cell.textLabel?.text = "\(row + 1)、\(element)"
            return cell
        }.disposed(by: disposeBag)

        //下拉刷新状态结束的绑定
        let end = self.tableView.mj_header.rx.endRefreshing
        viewModel.endHeaderRefreshing.drive(end).disposed(by: disposeBag)
    }

}
